<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>prencar: StateMachine Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="prencar.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">prencar
   &#160;<span id="projectnumber">1</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.8.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('class_state_machine.html','');
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#pri-static-attribs">Static Private Attributes</a>  </div>
  <div class="headertitle">
<div class="title">StateMachine Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_state_machine_8h_source.html">StateMachine.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for StateMachine:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine__coll__graph.png" border="0" usemap="#_state_machine_coll__map" alt="Collaboration graph"/></div>
<map name="_state_machine_coll__map" id="_state_machine_coll__map">
<area shape="rect" id="node2" href="class_move.html" title="Move" alt="" coords="483,195,535,221"/><area shape="rect" id="node15" href="class_cube_approach.html" title="CubeApproach" alt="" coords="965,179,1072,205"/><area shape="rect" id="node19" href="class_line_follow.html" title="LineFollow" alt="" coords="727,272,809,299"/><area shape="rect" id="node26" href="class_extended_move.html" title="Allows to define extended car control instuctions." alt="" coords="715,464,821,491"/><area shape="rect" id="node5" href="class_communication.html" title="Communication" alt="" coords="256,417,368,444"/><area shape="rect" id="node51" href="class_lift_cube.html" title="LiftCube" alt="" coords="984,668,1053,695"/><area shape="rect" id="node7" href="class_command.html" title="A Command object represents a command sent from the host software." alt="" coords="14,417,95,444"/><area shape="rect" id="node10" href="class_configuration.html" title="Configuration" alt="" coords="6,328,103,355"/><area shape="rect" id="node45" href="class_move_back_to_line.html" title="The MoveBackToLine class will navigate car back to the line according to the stored information from ..." alt="" coords="1216,336,1336,363"/><area shape="rect" id="node37" href="class_curve_left.html" title="The CurveLeft class will control the car during the 90° left curve." alt="" coords="1239,465,1313,492"/><area shape="rect" id="node41" href="class_line_center.html" title="The LineCenter class centers the car on the line." alt="" coords="977,352,1061,379"/><area shape="rect" id="node24" href="struct_cube_detection.html" title="CubeDetection" alt="" coords="715,171,821,197"/><area shape="rect" id="node31" href="struct_move_command.html" title="MoveCommand" alt="" coords="454,429,565,456"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="class_state_machine-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a32064aba8c9fa4afcb649d01aaf5fd78"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#a32064aba8c9fa4afcb649d01aaf5fd78">doJob</a> ()</td></tr>
<tr class="memitem:a2e269f59e372184da681ec60d9d3a02e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#a2e269f59e372184da681ec60d9d3a02e">startParcours</a> ()</td></tr>
<tr class="memitem:a2581b0509842f049b330fa2c358aaa77"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#a2581b0509842f049b330fa2c358aaa77">startParcoursAtState</a> (<a class="el" href="_state_machine_8h.html#ad5f3c64cf1a6afd0af12270f4a539ce8">TParcoursState</a> state)</td></tr>
<tr class="memitem:a7d0130525bd2e5314fd0b17e568c307a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#a7d0130525bd2e5314fd0b17e568c307a">stopParcours</a> ()</td></tr>
<tr class="memitem:afef8b4998682dc7448db148a4a3de74e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#afef8b4998682dc7448db148a4a3de74e">changeActivateMessageFilter</a> (boolean newState)</td></tr>
<tr class="memitem:af2e08cda15a6791502d2743e1f530357"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#af2e08cda15a6791502d2743e1f530357">getCurrentBatteryVoltageLevel</a> ()</td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a7f7482a9af6910035a62f9c116165f60"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_state_machine.html">StateMachine</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#a7f7482a9af6910035a62f9c116165f60">getInstance</a> ()</td></tr>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:ad5bffb8688259c021049ffd46803a3a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_state_machine_8h.html#ad5f3c64cf1a6afd0af12270f4a539ce8">TParcoursState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#ad5bffb8688259c021049ffd46803a3a1">parcoursState</a></td></tr>
<tr class="memitem:aba41f59808f08876f67aefcb436ff00a"><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#aba41f59808f08876f67aefcb436ff00a">startParcoursTimestamp</a></td></tr>
<tr class="memdesc:aba41f59808f08876f67aefcb436ff00a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the timestamp when the parcours starts.  <a href="#aba41f59808f08876f67aefcb436ff00a"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a2fb07002510ea9141019559750acfab8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#a2fb07002510ea9141019559750acfab8">StateMachine</a> ()</td></tr>
<tr class="memitem:a18b495baeae11732b76d252b2b8341c8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#a18b495baeae11732b76d252b2b8341c8">begin</a> ()</td></tr>
<tr class="memitem:a26dd1980d9d8f24050b624fb16ac0e58"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#a26dd1980d9d8f24050b624fb16ac0e58">checkCommands</a> ()</td></tr>
<tr class="memitem:a6f5d5d6b56b9b204725798ed786f6dcd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#a6f5d5d6b56b9b204725798ed786f6dcd">changeState</a> (<a class="el" href="_state_machine_8h.html#ad5f3c64cf1a6afd0af12270f4a539ce8">TParcoursState</a> newState)</td></tr>
<tr class="memitem:ab3634a64f8a4065a7586fcd7b32883d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#ab3634a64f8a4065a7586fcd7b32883d1">startDriveOverFinishLineExtMoveCommand</a> ()</td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:ac50a9d394f6fb8dcb5fae975feed7ff2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_communication.html">Communication</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#ac50a9d394f6fb8dcb5fae975feed7ff2">_com</a></td></tr>
<tr class="memdesc:ac50a9d394f6fb8dcb5fae975feed7ff2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The reference to the serial communication class.  <a href="#ac50a9d394f6fb8dcb5fae975feed7ff2"></a><br/></td></tr>
<tr class="memitem:a432c69d21536a1b991d8493c4aa03d9c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_configuration.html">Configuration</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#a432c69d21536a1b991d8493c4aa03d9c">_conf</a></td></tr>
<tr class="memdesc:a432c69d21536a1b991d8493c4aa03d9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The reference to the configuration class.  <a href="#a432c69d21536a1b991d8493c4aa03d9c"></a><br/></td></tr>
<tr class="memitem:a9205e3d16700885cc78e8c9919f44d49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_move.html">Move</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#a9205e3d16700885cc78e8c9919f44d49">_move</a></td></tr>
<tr class="memdesc:a9205e3d16700885cc78e8c9919f44d49"><td class="mdescLeft">&#160;</td><td class="mdescRight">The reference to the move class.  <a href="#a9205e3d16700885cc78e8c9919f44d49"></a><br/></td></tr>
<tr class="memitem:a765e2a69f3af4c9d5f02860cba27de6a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_lift_cube.html">LiftCube</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#a765e2a69f3af4c9d5f02860cba27de6a">_liftCube</a></td></tr>
<tr class="memdesc:a765e2a69f3af4c9d5f02860cba27de6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The reference to the <a class="el" href="class_lift_cube.html">LiftCube</a> class.  <a href="#a765e2a69f3af4c9d5f02860cba27de6a"></a><br/></td></tr>
<tr class="memitem:a5d310dbe85beb16a46b672c1dcd46697"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_extended_move.html">ExtendedMove</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#a5d310dbe85beb16a46b672c1dcd46697">_extMove</a></td></tr>
<tr class="memdesc:a5d310dbe85beb16a46b672c1dcd46697"><td class="mdescLeft">&#160;</td><td class="mdescRight">The reference to the <a class="el" href="class_extended_move.html" title="Allows to define extended car control instuctions.">ExtendedMove</a> class.  <a href="#a5d310dbe85beb16a46b672c1dcd46697"></a><br/></td></tr>
<tr class="memitem:a51a47153c3502bb1d8c57c4b0343b5c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_line_follow.html">LineFollow</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#a51a47153c3502bb1d8c57c4b0343b5c5">lineFollow</a></td></tr>
<tr class="memitem:abde46fcc0c72e89a79a406658ff15a02"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_curve_left.html">CurveLeft</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#abde46fcc0c72e89a79a406658ff15a02">curveLeft</a></td></tr>
<tr class="memitem:a3c6370e9fff729723a0ccc5f08640912"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_cube_approach.html">CubeApproach</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#a3c6370e9fff729723a0ccc5f08640912">_cubeApproach</a></td></tr>
<tr class="memitem:a0b84a9d673ee44b695a28d7b3b625570"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_move_back_to_line.html">MoveBackToLine</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#a0b84a9d673ee44b695a28d7b3b625570">_moveBackToLine</a></td></tr>
<tr class="memitem:aa1b860ad26d28c1e681c119e67a6a03b"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#aa1b860ad26d28c1e681c119e67a6a03b">forceChangeState</a></td></tr>
<tr class="memdesc:aa1b860ad26d28c1e681c119e67a6a03b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Will be set to true if the stateMachine shall switch to the next state immediately.  <a href="#aa1b860ad26d28c1e681c119e67a6a03b"></a><br/></td></tr>
<tr class="memitem:ae77ef910dec803d51efe9f92f145744d"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#ae77ef910dec803d51efe9f92f145744d">extMoveCommandDriveOverFinishLineStarted</a></td></tr>
<tr><td colspan="2"><h2><a name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr class="memitem:a3e925b470557acefe9e63fb9b883fd77"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_state_machine.html">StateMachine</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#a3e925b470557acefe9e63fb9b883fd77">_instance</a></td></tr>
<tr class="memdesc:a3e925b470557acefe9e63fb9b883fd77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static reference to the singleton object.  <a href="#a3e925b470557acefe9e63fb9b883fd77"></a><br/></td></tr>
<tr class="memitem:aa39880690c1770cd492706fe70f9036c"><td class="memItemLeft" align="right" valign="top">static boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_state_machine.html#aa39880690c1770cd492706fe70f9036c">_instanceCreated</a> = false</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="_state_machine_8h_source.html#l00031">31</a> of file <a class="el" href="_state_machine_8h_source.html">StateMachine.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a2fb07002510ea9141019559750acfab8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_state_machine.html#a2fb07002510ea9141019559750acfab8">StateMachine::StateMachine</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Constructur for the class. </p>

<p>Definition at line <a class="el" href="_state_machine_8cpp_source.html#l00028">28</a> of file <a class="el" href="_state_machine_8cpp_source.html">StateMachine.cpp</a>.</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_a2fb07002510ea9141019559750acfab8_icgraph.png" border="0" usemap="#class_state_machine_a2fb07002510ea9141019559750acfab8_icgraph" alt=""/></div>
<map name="class_state_machine_a2fb07002510ea9141019559750acfab8_icgraph" id="class_state_machine_a2fb07002510ea9141019559750acfab8_icgraph">
<area shape="rect" id="node3" href="class_state_machine.html#a7f7482a9af6910035a62f9c116165f60" title="StateMachine::getInstance" alt="" coords="246,5,423,32"/><area shape="rect" id="node5" href="class_state_machine.html#a18b495baeae11732b76d252b2b8341c8" title="StateMachine::begin" alt="" coords="472,5,613,32"/></map>
</div>
</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a18b495baeae11732b76d252b2b8341c8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_state_machine.html#a18b495baeae11732b76d252b2b8341c8">StateMachine::begin</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Prepares the <a class="el" href="class_state_machine.html">StateMachine</a> object to work. </p>

<p>Definition at line <a class="el" href="_state_machine_8cpp_source.html#l00038">38</a> of file <a class="el" href="_state_machine_8cpp_source.html">StateMachine.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_a18b495baeae11732b76d252b2b8341c8_cgraph.png" border="0" usemap="#class_state_machine_a18b495baeae11732b76d252b2b8341c8_cgraph" alt=""/></div>
<map name="class_state_machine_a18b495baeae11732b76d252b2b8341c8_cgraph" id="class_state_machine_a18b495baeae11732b76d252b2b8341c8_cgraph">
<area shape="rect" id="node3" href="class_state_machine.html#a7f7482a9af6910035a62f9c116165f60" title="StateMachine::getInstance" alt="" coords="195,81,373,108"/><area shape="rect" id="node8" href="class_line_follow.html#afac0ad1ff185b7e5f9b47428cb2e5e48" title="LineFollow::begin" alt="" coords="456,107,579,133"/><area shape="rect" id="node28" href="class_curve_left.html#a0e6f8f5d7f869edfaf34cf3e74676a86" title="CurveLeft::begin" alt="" coords="227,360,341,387"/><area shape="rect" id="node40" href="class_cube_approach.html#ac49270ba8b7c5bb6e60ffefc31175fc2" title="CubeApproach::begin" alt="" coords="211,183,357,209"/><area shape="rect" id="node47" href="class_move_back_to_line.html#ab5f8b99d6379511c6ed09b4f50432641" title="MoveBackToLine::begin" alt="" coords="205,309,363,336"/><area shape="rect" id="node51" href="class_lift_cube.html#a517b1b3c4dc314d228ba4dc79d17de64" title="LiftCube::liftUp" alt="" coords="231,436,337,463"/><area shape="rect" id="node5" href="class_state_machine.html#a2fb07002510ea9141019559750acfab8" title="StateMachine::StateMachine" alt="" coords="422,5,613,32"/><area shape="rect" id="node10" href="class_communication.html#ad7b13fccf78bfce83efc9bb06c64facd" title="Communication::getInstance" alt="" coords="661,56,848,83"/><area shape="rect" id="node17" href="class_move.html#a5b53cfa443fe4fe0f1b96f9b3afc4850" title="Move::getInstance" alt="" coords="691,157,818,184"/><area shape="rect" id="node24" href="class_configuration.html#ae327d26e81014cf46b25802478fe9b8e" title="Configuration::getInstance" alt="" coords="669,208,841,235"/><area shape="rect" id="node12" href="class_communication.html#a88aa7a2d2ac5202e2b8eef787d1a8689" title="Communication::Communication" alt="" coords="896,56,1107,83"/><area shape="rect" id="node15" href="class_configuration.html#a75b42e72d9a00415dfafa5d5dd8281b8" title="Configuration::getSerialSpeed" alt="" coords="1155,56,1349,83"/><area shape="rect" id="node19" href="class_move.html#a4b1acc3a67d30c385ad9a6000526393a" title="Move::Move" alt="" coords="956,107,1047,133"/><area shape="rect" id="node21" href="class_move.html#afcff6c5d4fd9e58382ee01d6270f4707" title="Move::begin" alt="" coords="956,157,1047,184"/><area shape="rect" id="node26" href="class_configuration.html#a779947337bf652f0e773cb29f37f14ba" title="Configuration::Configuration" alt="" coords="911,208,1091,235"/><area shape="rect" id="node30" href="class_line_center.html#a13e69abdd08c2da81f189e69642d980d" title="LineCenter::begin" alt="" coords="456,360,579,387"/><area shape="rect" id="node32" href="class_extended_move.html#a8ba9c560726a121efa0c78f26780e46a" title="ExtendedMove::getInstance" alt="" coords="663,335,846,361"/><area shape="rect" id="node34" href="class_extended_move.html#a4bf87fc8690c78ea76464cc8d006f528" title="ExtendedMove::ExtendedMove" alt="" coords="901,284,1101,311"/><area shape="rect" id="node36" href="class_extended_move.html#aef13add1eb55a57abf64adbf4ae5f149" title="ExtendedMove::begin" alt="" coords="928,335,1075,361"/><area shape="rect" id="node53" href="class_lift_cube.html#a6b6c013383282736029056541de33844" title="LiftCube::setHoistPosition" alt="" coords="431,461,603,488"/><area shape="rect" id="node55" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="681,461,829,488"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_a18b495baeae11732b76d252b2b8341c8_icgraph.png" border="0" usemap="#class_state_machine_a18b495baeae11732b76d252b2b8341c8_icgraph" alt=""/></div>
<map name="class_state_machine_a18b495baeae11732b76d252b2b8341c8_icgraph" id="class_state_machine_a18b495baeae11732b76d252b2b8341c8_icgraph">
<area shape="rect" id="node3" href="class_state_machine.html#a7f7482a9af6910035a62f9c116165f60" title="StateMachine::getInstance" alt="" coords="195,5,373,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="afef8b4998682dc7448db148a4a3de74e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_state_machine.html#afef8b4998682dc7448db148a4a3de74e">StateMachine::changeActivateMessageFilter</a> </td>
          <td>(</td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>newState</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Changes the state of the boolean <a class="el" href="class_configuration.html#a60b33a8e5b22cd2a2d4da9e4f2195269" title="True if _messageFilterLevel shall be taken into account.">Configuration::activateMessageFilter</a> to the given state. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">newState</td><td>State to which activateMessageFilter shall be set. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="class_configuration.html#a60b33a8e5b22cd2a2d4da9e4f2195269" title="True if _messageFilterLevel shall be taken into account.">Configuration::activateMessageFilter</a> </dd></dl>

<p>Definition at line <a class="el" href="_state_machine_8cpp_source.html#l00347">347</a> of file <a class="el" href="_state_machine_8cpp_source.html">StateMachine.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_afef8b4998682dc7448db148a4a3de74e_cgraph.png" border="0" usemap="#class_state_machine_afef8b4998682dc7448db148a4a3de74e_cgraph" alt=""/></div>
<map name="class_state_machine_afef8b4998682dc7448db148a4a3de74e_cgraph" id="class_state_machine_afef8b4998682dc7448db148a4a3de74e_cgraph">
<area shape="rect" id="node3" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="334,5,482,32"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_afef8b4998682dc7448db148a4a3de74e_icgraph.png" border="0" usemap="#class_state_machine_afef8b4998682dc7448db148a4a3de74e_icgraph" alt=""/></div>
<map name="class_state_machine_afef8b4998682dc7448db148a4a3de74e_icgraph" id="class_state_machine_afef8b4998682dc7448db148a4a3de74e_icgraph">
<area shape="rect" id="node3" href="class_state_machine.html#a26dd1980d9d8f24050b624fb16ac0e58" title="StateMachine::checkCommands" alt="" coords="333,5,544,32"/><area shape="rect" id="node5" href="class_state_machine.html#a32064aba8c9fa4afcb649d01aaf5fd78" title="StateMachine::doJob" alt="" coords="592,5,736,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a6f5d5d6b56b9b204725798ed786f6dcd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_state_machine.html#a6f5d5d6b56b9b204725798ed786f6dcd">StateMachine::changeState</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="_state_machine_8h.html#ad5f3c64cf1a6afd0af12270f4a539ce8">TParcoursState</a>&#160;</td>
          <td class="paramname"><em>newState</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Changes the state of the Machine to the given new state. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">New</td><td>state for the state maschine. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_state_machine_8cpp_source.html#l00337">337</a> of file <a class="el" href="_state_machine_8cpp_source.html">StateMachine.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_a6f5d5d6b56b9b204725798ed786f6dcd_cgraph.png" border="0" usemap="#class_state_machine_a6f5d5d6b56b9b204725798ed786f6dcd_cgraph" alt=""/></div>
<map name="class_state_machine_a6f5d5d6b56b9b204725798ed786f6dcd_cgraph" id="class_state_machine_a6f5d5d6b56b9b204725798ed786f6dcd_cgraph">
<area shape="rect" id="node3" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="238,5,386,32"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_a6f5d5d6b56b9b204725798ed786f6dcd_icgraph.png" border="0" usemap="#class_state_machine_a6f5d5d6b56b9b204725798ed786f6dcd_icgraph" alt=""/></div>
<map name="class_state_machine_a6f5d5d6b56b9b204725798ed786f6dcd_icgraph" id="class_state_machine_a6f5d5d6b56b9b204725798ed786f6dcd_icgraph">
<area shape="rect" id="node3" href="class_state_machine.html#a32064aba8c9fa4afcb649d01aaf5fd78" title="StateMachine::doJob" alt="" coords="733,5,877,32"/><area shape="rect" id="node5" href="class_state_machine.html#a2e269f59e372184da681ec60d9d3a02e" title="StateMachine::startParcours" alt="" coords="238,31,426,57"/><area shape="rect" id="node10" href="class_state_machine.html#a7d0130525bd2e5314fd0b17e568c307a" title="StateMachine::stopParcours" alt="" coords="239,81,425,108"/><area shape="rect" id="node7" href="class_state_machine.html#a26dd1980d9d8f24050b624fb16ac0e58" title="StateMachine::checkCommands" alt="" coords="475,31,685,57"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a26dd1980d9d8f24050b624fb16ac0e58"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_state_machine.html#a26dd1980d9d8f24050b624fb16ac0e58">StateMachine::checkCommands</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This method checks different possible arriving commands and performs the defined action if necessary. </p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000011">Todo:</a></b></dt><dd>the following line has to go to the begin of the liftCube state later on! </dd></dl>

<p>Definition at line <a class="el" href="_state_machine_8cpp_source.html#l00201">201</a> of file <a class="el" href="_state_machine_8cpp_source.html">StateMachine.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_a26dd1980d9d8f24050b624fb16ac0e58_cgraph.png" border="0" usemap="#class_state_machine_a26dd1980d9d8f24050b624fb16ac0e58_cgraph" alt=""/></div>
<map name="class_state_machine_a26dd1980d9d8f24050b624fb16ac0e58_cgraph" id="class_state_machine_a26dd1980d9d8f24050b624fb16ac0e58_cgraph">
<area shape="rect" id="node3" href="class_communication.html#a17bff838a0404ae06482f17bcecd3784" title="Communication::getAndRemoveCommandFromReadyCommands" alt="" coords="265,5,663,32"/><area shape="rect" id="node5" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="1091,259,1239,285"/><area shape="rect" id="node7" href="class_state_machine.html#a7d0130525bd2e5314fd0b17e568c307a" title="StateMachine::stopParcours" alt="" coords="371,56,557,83"/><area shape="rect" id="node17" href="class_state_machine.html#a2581b0509842f049b330fa2c358aaa77" title="StateMachine::startParcoursAtState" alt="" coords="348,309,580,336"/><area shape="rect" id="node20" href="class_communication.html#a17e42ee6dbbaa353944d63e7d5dee25a" title="Communication::sendCurrentConfiguration" alt="" coords="722,461,987,488"/><area shape="rect" id="node25" href="class_state_machine.html#a2e269f59e372184da681ec60d9d3a02e" title="StateMachine::startParcours" alt="" coords="370,208,558,235"/><area shape="rect" id="node29" href="class_state_machine.html#af2e08cda15a6791502d2743e1f530357" title="StateMachine::getCurrentBatteryVoltageLevel" alt="" coords="712,360,997,387"/><area shape="rect" id="node34" href="class_configuration.html#aa6f6680d35f5db5efd93770bbce644ed" title="Updates all configuration values according to the given parameters." alt="" coords="355,360,573,387"/><area shape="rect" id="node37" href="class_configuration.html#aecb79d09fce1b802e93a815cedd2a22e" title="Configuration::getConfigurationVersion" alt="" coords="343,411,585,437"/><area shape="rect" id="node40" href="class_move.html#a9c5dc5c3a98abece0c2f40085c3601be" title="Move::controlMotors" alt="" coords="395,664,533,691"/><area shape="rect" id="node47" href="class_lift_cube.html#a6b6c013383282736029056541de33844" title="LiftCube::setHoistPosition" alt="" coords="769,537,941,564"/><area shape="rect" id="node50" href="class_lift_cube.html#a652d399235cafb5179a2d6c65df11112" title="LiftCube::liftDown" alt="" coords="403,512,525,539"/><area shape="rect" id="node53" href="class_lift_cube.html#a517b1b3c4dc314d228ba4dc79d17de64" title="LiftCube::liftUp" alt="" coords="411,563,517,589"/><area shape="rect" id="node56" href="class_state_machine.html#afef8b4998682dc7448db148a4a3de74e" title="StateMachine::changeActivateMessageFilter" alt="" coords="715,107,995,133"/><area shape="rect" id="node9" href="class_extended_move.html#ae80076eb8ea7ea00e7563e4bbf4657b6" title="ExtendedMove::stopCurrentQueue" alt="" coords="745,5,965,32"/><area shape="rect" id="node11" href="class_move.html#a237261f2dd8fc115129f0ba998f13183" title="Move::performFastStop" alt="" coords="777,56,933,83"/><area shape="rect" id="node14" href="class_state_machine.html#a6f5d5d6b56b9b204725798ed786f6dcd" title="StateMachine::changeState" alt="" coords="763,208,946,235"/><area shape="rect" id="node22" href="class_configuration.html#a0b0009b5114b418831478c031372d12c" title="Configuration::getCurrentConfiguration" alt="" coords="1045,461,1285,488"/><area shape="rect" id="node32" href="class_line_follow.html#a98fad8edd42d3096bb61f9e68293490c" title="LineFollow::startIt" alt="" coords="793,309,917,336"/><area shape="rect" id="node43" href="class_move.html#af6b1197771f0540b0becc4117d8d272f" title="Move::setLeftMotorDirection" alt="" coords="763,708,946,735"/><area shape="rect" id="node45" href="class_move.html#a06e67dafd581bbd086da404a90c4eeec" title="Move::setRightMotorDirection" alt="" coords="759,657,951,684"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_a26dd1980d9d8f24050b624fb16ac0e58_icgraph.png" border="0" usemap="#class_state_machine_a26dd1980d9d8f24050b624fb16ac0e58_icgraph" alt=""/></div>
<map name="class_state_machine_a26dd1980d9d8f24050b624fb16ac0e58_icgraph" id="class_state_machine_a26dd1980d9d8f24050b624fb16ac0e58_icgraph">
<area shape="rect" id="node3" href="class_state_machine.html#a32064aba8c9fa4afcb649d01aaf5fd78" title="StateMachine::doJob" alt="" coords="264,5,408,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a32064aba8c9fa4afcb649d01aaf5fd78"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_state_machine.html#a32064aba8c9fa4afcb649d01aaf5fd78">StateMachine::doJob</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Does the job for which this class was written.<br/>
 This method has to be called in regular intervals (as short as possible). It manages the parcours with it's states. </p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000010">Todo:</a></b></dt><dd>add an else if statement that also checks if lineFollow.hasReachedCurve for the case if the cube was not detected but the car is at the end of the parcours. </dd></dl>

<p>Definition at line <a class="el" href="_state_machine_8cpp_source.html#l00061">61</a> of file <a class="el" href="_state_machine_8cpp_source.html">StateMachine.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_a32064aba8c9fa4afcb649d01aaf5fd78_cgraph.png" border="0" usemap="#class_state_machine_a32064aba8c9fa4afcb649d01aaf5fd78_cgraph" alt=""/></div>
<map name="class_state_machine_a32064aba8c9fa4afcb649d01aaf5fd78_cgraph" id="class_state_machine_a32064aba8c9fa4afcb649d01aaf5fd78_cgraph">
<area shape="rect" id="node3" href="class_state_machine.html#a26dd1980d9d8f24050b624fb16ac0e58" title="StateMachine::checkCommands" alt="" coords="1112,360,1323,387"/><area shape="rect" id="node7" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="2203,1145,2351,1172"/><area shape="rect" id="node11" href="class_extended_move.html#ae80076eb8ea7ea00e7563e4bbf4657b6" title="ExtendedMove::stopCurrentQueue" alt="" coords="1857,2032,2077,2059"/><area shape="rect" id="node16" href="class_state_machine.html#a6f5d5d6b56b9b204725798ed786f6dcd" title="StateMachine::changeState" alt="" coords="1875,639,2058,665"/><area shape="rect" id="node34" href="class_line_follow.html#a98fad8edd42d3096bb61f9e68293490c" title="LineFollow::startIt" alt="" coords="1905,461,2029,488"/><area shape="rect" id="node42" href="class_move.html#a9c5dc5c3a98abece0c2f40085c3601be" title="Move::controlMotors" alt="" coords="1897,1677,2036,1704"/><area shape="rect" id="node61" href="class_lift_cube.html#ab5d1090dfcf43a319666d905b374d4a6" title="LiftCube::doJob" alt="" coords="882,867,993,893"/><area shape="rect" id="node79" href="class_curve_left.html#a2f70c4b1efef29cdf04dff01e6a90336" title="CurveLeft::startIt" alt="" coords="879,1120,995,1147"/><area shape="rect" id="node83" href="class_line_follow.html#a93ff35747f2ae3bb26998f07243afc3c" title="LineFollow::doJob" alt="" coords="1155,1019,1280,1045"/><area shape="rect" id="node98" href="class_curve_left.html#a34930d2641dbbd389c536999a560f158" title="CurveLeft::doJob" alt="" coords="220,1652,337,1679"/><area shape="rect" id="node111" href="class_extended_move.html#a9bd37ba3d8f98170dd33c8726934735a" title="ExtendedMove::isExecutionInProcess" alt="" coords="817,1475,1058,1501"/><area shape="rect" id="node117" href="class_cube_approach.html#ad221b0dcd79878c1ab47f1ab2a0076f2" title="CubeApproach::startIt" alt="" coords="205,461,353,488"/><area shape="rect" id="node121" href="class_cube_approach.html#ac36a5c38b1108d4cd77172062e1795be" title="CubeApproach::doJob" alt="" coords="513,1297,663,1324"/><area shape="rect" id="node142" href="class_move_back_to_line.html#a8b48709e127b00072dcce276cff5055b" title="MoveBackToLine::startIt" alt="" coords="857,1069,1018,1096"/><area shape="rect" id="node147" href="class_move_back_to_line.html#a2481a81f7c90dee23d229911c8821e65" title="MoveBackToLine::doJob" alt="" coords="197,1905,360,1932"/><area shape="rect" id="node154" href="class_state_machine.html#ab3634a64f8a4065a7586fcd7b32883d1" title="StateMachine::startDriveOverFinishLineExtMoveCommand" alt="" coords="409,1171,767,1197"/><area shape="rect" id="node5" href="class_communication.html#a17bff838a0404ae06482f17bcecd3784" title="Communication::getAndRemoveCommandFromReadyCommands" alt="" coords="1377,5,1775,32"/><area shape="rect" id="node9" href="class_state_machine.html#a7d0130525bd2e5314fd0b17e568c307a" title="StateMachine::stopParcours" alt="" coords="1483,816,1669,843"/><area shape="rect" id="node19" href="class_state_machine.html#a2581b0509842f049b330fa2c358aaa77" title="StateMachine::startParcoursAtState" alt="" coords="1460,107,1692,133"/><area shape="rect" id="node22" href="class_communication.html#a17e42ee6dbbaa353944d63e7d5dee25a" title="Communication::sendCurrentConfiguration" alt="" coords="1834,111,2099,137"/><area shape="rect" id="node27" href="class_state_machine.html#a2e269f59e372184da681ec60d9d3a02e" title="StateMachine::startParcours" alt="" coords="1482,360,1670,387"/><area shape="rect" id="node31" href="class_state_machine.html#af2e08cda15a6791502d2743e1f530357" title="StateMachine::getCurrentBatteryVoltageLevel" alt="" coords="1824,307,2109,333"/><area shape="rect" id="node36" href="class_configuration.html#aa6f6680d35f5db5efd93770bbce644ed" title="Updates all configuration values according to the given parameters." alt="" coords="1467,259,1685,285"/><area shape="rect" id="node39" href="class_configuration.html#aecb79d09fce1b802e93a815cedd2a22e" title="Configuration::getConfigurationVersion" alt="" coords="1455,309,1697,336"/><area shape="rect" id="node49" href="class_lift_cube.html#a6b6c013383282736029056541de33844" title="LiftCube::setHoistPosition" alt="" coords="1881,689,2053,716"/><area shape="rect" id="node52" href="class_lift_cube.html#a652d399235cafb5179a2d6c65df11112" title="LiftCube::liftDown" alt="" coords="1515,715,1637,741"/><area shape="rect" id="node55" href="class_lift_cube.html#a517b1b3c4dc314d228ba4dc79d17de64" title="LiftCube::liftUp" alt="" coords="1523,664,1629,691"/><area shape="rect" id="node58" href="class_state_machine.html#afef8b4998682dc7448db148a4a3de74e" title="StateMachine::changeActivateMessageFilter" alt="" coords="1827,249,2107,276"/><area shape="rect" id="node13" href="class_move.html#a237261f2dd8fc115129f0ba998f13183" title="Move::performFastStop" alt="" coords="1889,816,2045,843"/><area shape="rect" id="node24" href="class_configuration.html#a0b0009b5114b418831478c031372d12c" title="Configuration::getCurrentConfiguration" alt="" coords="2157,111,2397,137"/><area shape="rect" id="node45" href="class_move.html#af6b1197771f0540b0becc4117d8d272f" title="Move::setLeftMotorDirection" alt="" coords="2186,1703,2369,1729"/><area shape="rect" id="node47" href="class_move.html#a06e67dafd581bbd086da404a90c4eeec" title="Move::setRightMotorDirection" alt="" coords="2181,1652,2373,1679"/><area shape="rect" id="node64" href="class_lift_cube.html#a11c5c99c275d5a4acfc778852976f6cd" title="LiftCube::liftCube" alt="" coords="1157,765,1277,792"/><area shape="rect" id="node68" href="class_extended_move.html#a816f77b595c0ca03d44dd21b2d4de5ba" title="ExtendedMove::startCurrentQueue" alt="" coords="1107,1272,1328,1299"/><area shape="rect" id="node71" href="class_extended_move.html#adfe6e7de87eab16e9a85ad5434819fee" title="ExtendedMove::executeCommand" alt="" coords="1466,1424,1686,1451"/><area shape="rect" id="node75" href="class_extended_move.html#a80ce42b3578e4fa17b6b2e3a05a70054" title="ExtendedMove::getCurrentCommandInQueue" alt="" coords="1435,1323,1717,1349"/><area shape="rect" id="node85" href="class_line_follow.html#a1e3bb3e01044c86e7ad87c632bac6634" title="LineFollow::readFrontLineSensors" alt="" coords="1857,1019,2076,1045"/><area shape="rect" id="node90" href="class_line_follow.html#af85fe355ee0699cabc3c817d10aa8b9d" title="LineFollow::readLineSensors" alt="" coords="1482,1525,1670,1552"/><area shape="rect" id="node93" href="class_move.html#a9d25d16f505526378fb4e43ee9e3b8c5" title="Move::setMotorSpeed" alt="" coords="1502,1120,1650,1147"/><area shape="rect" id="node103" href="class_line_center.html#a736d4cd402c6dc398b374cae8aab5740" title="LineCenter::startIt" alt="" coords="525,1931,651,1957"/><area shape="rect" id="node106" href="class_line_center.html#aa466b77cad70e564633e106efde81d4f" title="LineCenter::doJob" alt="" coords="525,1703,651,1729"/><area shape="rect" id="node114" href="class_line_center.html#a4496fa59d40b06887e2dbc881b9b4ce7" title="LineCenter::doCorrection" alt="" coords="855,1627,1020,1653"/><area shape="rect" id="node128" href="class_cube_approach.html#a2e637df1eece269b680fe9313798c241" title="CubeApproach::tryToDetectCube" alt="" coords="1470,1576,1682,1603"/><area shape="rect" id="node137" href="class_cube_approach.html#a7d68e4fab2b3f7590b21aef387855633" title="CubeApproach::turn" alt="" coords="869,1272,1006,1299"/><area shape="rect" id="node130" href="class_cube_approach.html#a9a1321d9d53edf885345d9d4f3b2c765" title="CubeApproach::readBottomSensors" alt="" coords="1851,1525,2082,1552"/><area shape="rect" id="node133" href="class_cube_approach.html#a1e002f33dc385e017d2b38120e8ce580" title="CubeApproach::readTopSensors" alt="" coords="1862,1576,2071,1603"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="af2e08cda15a6791502d2743e1f530357"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="class_state_machine.html#af2e08cda15a6791502d2743e1f530357">StateMachine::getCurrentBatteryVoltageLevel</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_state_machine_8cpp_source.html#l00381">381</a> of file <a class="el" href="_state_machine_8cpp_source.html">StateMachine.cpp</a>.</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_af2e08cda15a6791502d2743e1f530357_icgraph.png" border="0" usemap="#class_state_machine_af2e08cda15a6791502d2743e1f530357_icgraph" alt=""/></div>
<map name="class_state_machine_af2e08cda15a6791502d2743e1f530357_icgraph" id="class_state_machine_af2e08cda15a6791502d2743e1f530357_icgraph">
<area shape="rect" id="node3" href="class_state_machine.html#a26dd1980d9d8f24050b624fb16ac0e58" title="StateMachine::checkCommands" alt="" coords="576,5,787,32"/><area shape="rect" id="node7" href="class_state_machine.html#a2e269f59e372184da681ec60d9d3a02e" title="StateMachine::startParcours" alt="" coords="339,31,527,57"/><area shape="rect" id="node5" href="class_state_machine.html#a32064aba8c9fa4afcb649d01aaf5fd78" title="StateMachine::doJob" alt="" coords="835,5,979,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a7f7482a9af6910035a62f9c116165f60"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_state_machine.html">StateMachine</a> * <a class="el" href="class_state_machine.html#a7f7482a9af6910035a62f9c116165f60">StateMachine::getInstance</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the <a class="el" href="class_state_machine.html">StateMachine</a> instance </p>
<dl class="section return"><dt>Returns:</dt><dd>Pointer to the <a class="el" href="class_state_machine.html">StateMachine</a> instance </dd></dl>

<p>Definition at line <a class="el" href="_state_machine_8cpp_source.html#l00011">11</a> of file <a class="el" href="_state_machine_8cpp_source.html">StateMachine.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_a7f7482a9af6910035a62f9c116165f60_cgraph.png" border="0" usemap="#class_state_machine_a7f7482a9af6910035a62f9c116165f60_cgraph" alt=""/></div>
<map name="class_state_machine_a7f7482a9af6910035a62f9c116165f60_cgraph" id="class_state_machine_a7f7482a9af6910035a62f9c116165f60_cgraph">
<area shape="rect" id="node3" href="class_state_machine.html#a2fb07002510ea9141019559750acfab8" title="StateMachine::StateMachine" alt="" coords="233,208,423,235"/><area shape="rect" id="node5" href="class_state_machine.html#a18b495baeae11732b76d252b2b8341c8" title="StateMachine::begin" alt="" coords="257,259,399,285"/><area shape="rect" id="node8" href="class_line_follow.html#afac0ad1ff185b7e5f9b47428cb2e5e48" title="LineFollow::begin" alt="" coords="705,56,828,83"/><area shape="rect" id="node28" href="class_curve_left.html#a0e6f8f5d7f869edfaf34cf3e74676a86" title="CurveLeft::begin" alt="" coords="495,309,609,336"/><area shape="rect" id="node40" href="class_cube_approach.html#ac49270ba8b7c5bb6e60ffefc31175fc2" title="CubeApproach::begin" alt="" coords="479,145,625,172"/><area shape="rect" id="node47" href="class_move_back_to_line.html#ab5f8b99d6379511c6ed09b4f50432641" title="MoveBackToLine::begin" alt="" coords="473,259,631,285"/><area shape="rect" id="node51" href="class_lift_cube.html#a517b1b3c4dc314d228ba4dc79d17de64" title="LiftCube::liftUp" alt="" coords="499,385,605,412"/><area shape="rect" id="node10" href="class_communication.html#ad7b13fccf78bfce83efc9bb06c64facd" title="Communication::getInstance" alt="" coords="901,5,1088,32"/><area shape="rect" id="node17" href="class_move.html#a5b53cfa443fe4fe0f1b96f9b3afc4850" title="Move::getInstance" alt="" coords="931,107,1058,133"/><area shape="rect" id="node24" href="class_configuration.html#ae327d26e81014cf46b25802478fe9b8e" title="Configuration::getInstance" alt="" coords="909,157,1081,184"/><area shape="rect" id="node12" href="class_communication.html#a88aa7a2d2ac5202e2b8eef787d1a8689" title="Communication::Communication" alt="" coords="1136,5,1347,32"/><area shape="rect" id="node15" href="class_configuration.html#a75b42e72d9a00415dfafa5d5dd8281b8" title="Configuration::getSerialSpeed" alt="" coords="1395,5,1589,32"/><area shape="rect" id="node19" href="class_move.html#a4b1acc3a67d30c385ad9a6000526393a" title="Move::Move" alt="" coords="1196,56,1287,83"/><area shape="rect" id="node21" href="class_move.html#afcff6c5d4fd9e58382ee01d6270f4707" title="Move::begin" alt="" coords="1196,107,1287,133"/><area shape="rect" id="node26" href="class_configuration.html#a779947337bf652f0e773cb29f37f14ba" title="Configuration::Configuration" alt="" coords="1151,157,1331,184"/><area shape="rect" id="node30" href="class_line_center.html#a13e69abdd08c2da81f189e69642d980d" title="LineCenter::begin" alt="" coords="705,309,828,336"/><area shape="rect" id="node32" href="class_extended_move.html#a8ba9c560726a121efa0c78f26780e46a" title="ExtendedMove::getInstance" alt="" coords="903,284,1086,311"/><area shape="rect" id="node34" href="class_extended_move.html#a4bf87fc8690c78ea76464cc8d006f528" title="ExtendedMove::ExtendedMove" alt="" coords="1141,233,1341,260"/><area shape="rect" id="node36" href="class_extended_move.html#aef13add1eb55a57abf64adbf4ae5f149" title="ExtendedMove::begin" alt="" coords="1168,284,1315,311"/><area shape="rect" id="node53" href="class_lift_cube.html#a6b6c013383282736029056541de33844" title="LiftCube::setHoistPosition" alt="" coords="681,411,853,437"/><area shape="rect" id="node55" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="921,411,1069,437"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_a7f7482a9af6910035a62f9c116165f60_icgraph.png" border="0" usemap="#class_state_machine_a7f7482a9af6910035a62f9c116165f60_icgraph" alt=""/></div>
<map name="class_state_machine_a7f7482a9af6910035a62f9c116165f60_icgraph" id="class_state_machine_a7f7482a9af6910035a62f9c116165f60_icgraph">
<area shape="rect" id="node3" href="class_state_machine.html#a18b495baeae11732b76d252b2b8341c8" title="StateMachine::begin" alt="" coords="232,5,373,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ab3634a64f8a4065a7586fcd7b32883d1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_state_machine.html#ab3634a64f8a4065a7586fcd7b32883d1">StateMachine::startDriveOverFinishLineExtMoveCommand</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Creates an Extended <a class="el" href="class_move.html">Move</a> command which moves the car over the finish line and stops it afterwords. It also sets extMoveCommandDriveOverFinishLineStarted to true as soon as this method is called. </p>

<p>Definition at line <a class="el" href="_state_machine_8cpp_source.html#l00361">361</a> of file <a class="el" href="_state_machine_8cpp_source.html">StateMachine.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_ab3634a64f8a4065a7586fcd7b32883d1_cgraph.png" border="0" usemap="#class_state_machine_ab3634a64f8a4065a7586fcd7b32883d1_cgraph" alt=""/></div>
<map name="class_state_machine_ab3634a64f8a4065a7586fcd7b32883d1_cgraph" id="class_state_machine_ab3634a64f8a4065a7586fcd7b32883d1_cgraph">
<area shape="rect" id="node3" href="class_extended_move.html#a816f77b595c0ca03d44dd21b2d4de5ba" title="ExtendedMove::startCurrentQueue" alt="" coords="413,28,635,54"/><area shape="rect" id="node5" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="1222,28,1370,54"/><area shape="rect" id="node7" href="class_extended_move.html#adfe6e7de87eab16e9a85ad5434819fee" title="ExtendedMove::executeCommand" alt="" coords="714,28,934,54"/><area shape="rect" id="node17" href="class_extended_move.html#a80ce42b3578e4fa17b6b2e3a05a70054" title="ExtendedMove::getCurrentCommandInQueue" alt="" coords="683,78,965,105"/><area shape="rect" id="node10" href="class_move.html#a9c5dc5c3a98abece0c2f40085c3601be" title="Move::controlMotors" alt="" coords="1013,78,1152,105"/><area shape="rect" id="node13" href="class_move.html#af6b1197771f0540b0becc4117d8d272f" title="Move::setLeftMotorDirection" alt="" coords="1205,78,1387,105"/><area shape="rect" id="node15" href="class_move.html#a06e67dafd581bbd086da404a90c4eeec" title="Move::setRightMotorDirection" alt="" coords="1200,129,1392,156"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_ab3634a64f8a4065a7586fcd7b32883d1_icgraph.png" border="0" usemap="#class_state_machine_ab3634a64f8a4065a7586fcd7b32883d1_icgraph" alt=""/></div>
<map name="class_state_machine_ab3634a64f8a4065a7586fcd7b32883d1_icgraph" id="class_state_machine_ab3634a64f8a4065a7586fcd7b32883d1_icgraph">
<area shape="rect" id="node3" href="class_state_machine.html#a32064aba8c9fa4afcb649d01aaf5fd78" title="StateMachine::doJob" alt="" coords="413,5,557,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a2e269f59e372184da681ec60d9d3a02e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_state_machine.html#a2e269f59e372184da681ec60d9d3a02e">StateMachine::startParcours</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Starts the parcours. The car will start moving autonomous. </p>

<p>Definition at line <a class="el" href="_state_machine_8cpp_source.html#l00295">295</a> of file <a class="el" href="_state_machine_8cpp_source.html">StateMachine.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_a2e269f59e372184da681ec60d9d3a02e_cgraph.png" border="0" usemap="#class_state_machine_a2e269f59e372184da681ec60d9d3a02e_cgraph" alt=""/></div>
<map name="class_state_machine_a2e269f59e372184da681ec60d9d3a02e_cgraph" id="class_state_machine_a2e269f59e372184da681ec60d9d3a02e_cgraph">
<area shape="rect" id="node3" href="class_state_machine.html#a6f5d5d6b56b9b204725798ed786f6dcd" title="StateMachine::changeState" alt="" coords="294,5,477,32"/><area shape="rect" id="node5" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="622,56,770,83"/><area shape="rect" id="node7" href="class_communication.html#a17e42ee6dbbaa353944d63e7d5dee25a" title="Communication::sendCurrentConfiguration" alt="" coords="253,107,518,133"/><area shape="rect" id="node12" href="class_state_machine.html#af2e08cda15a6791502d2743e1f530357" title="StateMachine::getCurrentBatteryVoltageLevel" alt="" coords="243,157,528,184"/><area shape="rect" id="node15" href="class_line_follow.html#a98fad8edd42d3096bb61f9e68293490c" title="LineFollow::startIt" alt="" coords="323,208,447,235"/><area shape="rect" id="node9" href="class_configuration.html#a0b0009b5114b418831478c031372d12c" title="Configuration::getCurrentConfiguration" alt="" coords="576,107,816,133"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_a2e269f59e372184da681ec60d9d3a02e_icgraph.png" border="0" usemap="#class_state_machine_a2e269f59e372184da681ec60d9d3a02e_icgraph" alt=""/></div>
<map name="class_state_machine_a2e269f59e372184da681ec60d9d3a02e_icgraph" id="class_state_machine_a2e269f59e372184da681ec60d9d3a02e_icgraph">
<area shape="rect" id="node3" href="class_state_machine.html#a26dd1980d9d8f24050b624fb16ac0e58" title="StateMachine::checkCommands" alt="" coords="243,5,453,32"/><area shape="rect" id="node5" href="class_state_machine.html#a32064aba8c9fa4afcb649d01aaf5fd78" title="StateMachine::doJob" alt="" coords="501,5,645,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a2581b0509842f049b330fa2c358aaa77"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_state_machine.html#a2581b0509842f049b330fa2c358aaa77">StateMachine::startParcoursAtState</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="_state_machine_8h.html#ad5f3c64cf1a6afd0af12270f4a539ce8">TParcoursState</a>&#160;</td>
          <td class="paramname"><em>state</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Starts the parcours at the given state. The car will start moving autonomous. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">state</td><td>Start state. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_state_machine_8cpp_source.html#l00311">311</a> of file <a class="el" href="_state_machine_8cpp_source.html">StateMachine.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_a2581b0509842f049b330fa2c358aaa77_cgraph.png" border="0" usemap="#class_state_machine_a2581b0509842f049b330fa2c358aaa77_cgraph" alt=""/></div>
<map name="class_state_machine_a2581b0509842f049b330fa2c358aaa77_cgraph" id="class_state_machine_a2581b0509842f049b330fa2c358aaa77_cgraph">
<area shape="rect" id="node3" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="646,5,794,32"/><area shape="rect" id="node5" href="class_communication.html#a17e42ee6dbbaa353944d63e7d5dee25a" title="Communication::sendCurrentConfiguration" alt="" coords="286,56,551,83"/><area shape="rect" id="node7" href="class_configuration.html#a0b0009b5114b418831478c031372d12c" title="Configuration::getCurrentConfiguration" alt="" coords="600,56,840,83"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_a2581b0509842f049b330fa2c358aaa77_icgraph.png" border="0" usemap="#class_state_machine_a2581b0509842f049b330fa2c358aaa77_icgraph" alt=""/></div>
<map name="class_state_machine_a2581b0509842f049b330fa2c358aaa77_icgraph" id="class_state_machine_a2581b0509842f049b330fa2c358aaa77_icgraph">
<area shape="rect" id="node3" href="class_state_machine.html#a26dd1980d9d8f24050b624fb16ac0e58" title="StateMachine::checkCommands" alt="" coords="285,5,496,32"/><area shape="rect" id="node5" href="class_state_machine.html#a32064aba8c9fa4afcb649d01aaf5fd78" title="StateMachine::doJob" alt="" coords="544,5,688,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a7d0130525bd2e5314fd0b17e568c307a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_state_machine.html#a7d0130525bd2e5314fd0b17e568c307a">StateMachine::stopParcours</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Stops the car if it is currently driving autonomously. </p>

<p>Definition at line <a class="el" href="_state_machine_8cpp_source.html#l00327">327</a> of file <a class="el" href="_state_machine_8cpp_source.html">StateMachine.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_a7d0130525bd2e5314fd0b17e568c307a_cgraph.png" border="0" usemap="#class_state_machine_a7d0130525bd2e5314fd0b17e568c307a_cgraph" alt=""/></div>
<map name="class_state_machine_a7d0130525bd2e5314fd0b17e568c307a_cgraph" id="class_state_machine_a7d0130525bd2e5314fd0b17e568c307a_cgraph">
<area shape="rect" id="node3" href="class_extended_move.html#ae80076eb8ea7ea00e7563e4bbf4657b6" title="ExtendedMove::stopCurrentQueue" alt="" coords="241,5,461,32"/><area shape="rect" id="node5" href="class_move.html#a237261f2dd8fc115129f0ba998f13183" title="Move::performFastStop" alt="" coords="273,56,429,83"/><area shape="rect" id="node9" href="class_state_machine.html#a6f5d5d6b56b9b204725798ed786f6dcd" title="StateMachine::changeState" alt="" coords="259,107,442,133"/><area shape="rect" id="node7" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="510,81,658,108"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_state_machine_a7d0130525bd2e5314fd0b17e568c307a_icgraph.png" border="0" usemap="#class_state_machine_a7d0130525bd2e5314fd0b17e568c307a_icgraph" alt=""/></div>
<map name="class_state_machine_a7d0130525bd2e5314fd0b17e568c307a_icgraph" id="class_state_machine_a7d0130525bd2e5314fd0b17e568c307a_icgraph">
<area shape="rect" id="node3" href="class_state_machine.html#a26dd1980d9d8f24050b624fb16ac0e58" title="StateMachine::checkCommands" alt="" coords="240,5,451,32"/><area shape="rect" id="node5" href="class_state_machine.html#a32064aba8c9fa4afcb649d01aaf5fd78" title="StateMachine::doJob" alt="" coords="499,5,643,32"/></map>
</div>
</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="ac50a9d394f6fb8dcb5fae975feed7ff2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_communication.html">Communication</a>* <a class="el" href="class_state_machine.html#ac50a9d394f6fb8dcb5fae975feed7ff2">StateMachine::_com</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The reference to the serial communication class. </p>

<p>Definition at line <a class="el" href="_state_machine_8h_source.html#l00039">39</a> of file <a class="el" href="_state_machine_8h_source.html">StateMachine.h</a>.</p>

</div>
</div>
<a class="anchor" id="a432c69d21536a1b991d8493c4aa03d9c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_configuration.html">Configuration</a>* <a class="el" href="class_state_machine.html#a432c69d21536a1b991d8493c4aa03d9c">StateMachine::_conf</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The reference to the configuration class. </p>

<p>Definition at line <a class="el" href="_state_machine_8h_source.html#l00040">40</a> of file <a class="el" href="_state_machine_8h_source.html">StateMachine.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3c6370e9fff729723a0ccc5f08640912"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_cube_approach.html">CubeApproach</a> <a class="el" href="class_state_machine.html#a3c6370e9fff729723a0ccc5f08640912">StateMachine::_cubeApproach</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_state_machine_8h_source.html#l00047">47</a> of file <a class="el" href="_state_machine_8h_source.html">StateMachine.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5d310dbe85beb16a46b672c1dcd46697"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_extended_move.html">ExtendedMove</a>* <a class="el" href="class_state_machine.html#a5d310dbe85beb16a46b672c1dcd46697">StateMachine::_extMove</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The reference to the <a class="el" href="class_extended_move.html" title="Allows to define extended car control instuctions.">ExtendedMove</a> class. </p>

<p>Definition at line <a class="el" href="_state_machine_8h_source.html#l00043">43</a> of file <a class="el" href="_state_machine_8h_source.html">StateMachine.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3e925b470557acefe9e63fb9b883fd77"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_state_machine.html">StateMachine</a> <a class="el" href="class_state_machine.html#a3e925b470557acefe9e63fb9b883fd77">StateMachine::_instance</a><code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Static reference to the singleton object. </p>

<p>Definition at line <a class="el" href="_state_machine_8h_source.html#l00035">35</a> of file <a class="el" href="_state_machine_8h_source.html">StateMachine.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa39880690c1770cd492706fe70f9036c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">boolean <a class="el" href="class_state_machine.html#aa39880690c1770cd492706fe70f9036c">StateMachine::_instanceCreated</a> = false<code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_state_machine_8h_source.html#l00036">36</a> of file <a class="el" href="_state_machine_8h_source.html">StateMachine.h</a>.</p>

</div>
</div>
<a class="anchor" id="a765e2a69f3af4c9d5f02860cba27de6a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_lift_cube.html">LiftCube</a>* <a class="el" href="class_state_machine.html#a765e2a69f3af4c9d5f02860cba27de6a">StateMachine::_liftCube</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The reference to the <a class="el" href="class_lift_cube.html">LiftCube</a> class. </p>

<p>Definition at line <a class="el" href="_state_machine_8h_source.html#l00042">42</a> of file <a class="el" href="_state_machine_8h_source.html">StateMachine.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9205e3d16700885cc78e8c9919f44d49"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_move.html">Move</a>* <a class="el" href="class_state_machine.html#a9205e3d16700885cc78e8c9919f44d49">StateMachine::_move</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The reference to the move class. </p>

<p>Definition at line <a class="el" href="_state_machine_8h_source.html#l00041">41</a> of file <a class="el" href="_state_machine_8h_source.html">StateMachine.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0b84a9d673ee44b695a28d7b3b625570"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_move_back_to_line.html">MoveBackToLine</a> <a class="el" href="class_state_machine.html#a0b84a9d673ee44b695a28d7b3b625570">StateMachine::_moveBackToLine</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_state_machine_8h_source.html#l00048">48</a> of file <a class="el" href="_state_machine_8h_source.html">StateMachine.h</a>.</p>

</div>
</div>
<a class="anchor" id="abde46fcc0c72e89a79a406658ff15a02"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_curve_left.html">CurveLeft</a> <a class="el" href="class_state_machine.html#abde46fcc0c72e89a79a406658ff15a02">StateMachine::curveLeft</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_state_machine_8h_source.html#l00046">46</a> of file <a class="el" href="_state_machine_8h_source.html">StateMachine.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae77ef910dec803d51efe9f92f145744d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">boolean <a class="el" href="class_state_machine.html#ae77ef910dec803d51efe9f92f145744d">StateMachine::extMoveCommandDriveOverFinishLineStarted</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set to true as soon as the ext move command has been started which moves the car over the finish line and stops the car afterwords. </p>

<p>Definition at line <a class="el" href="_state_machine_8h_source.html#l00065">65</a> of file <a class="el" href="_state_machine_8h_source.html">StateMachine.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa1b860ad26d28c1e681c119e67a6a03b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">boolean <a class="el" href="class_state_machine.html#aa1b860ad26d28c1e681c119e67a6a03b">StateMachine::forceChangeState</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Will be set to true if the stateMachine shall switch to the next state immediately. </p>
<p>In the state machine the work of every state is started at the end of the previous state. For example the <a class="el" href="class_curve_left.html" title="The CurveLeft class will control the car during the 90° left curve.">CurveLeft</a> job starts at the end of the <a class="el" href="class_line_follow.html">LineFollow</a> job.<br/>
 This boolean is used when the command 300 is sent with a parameter that indicates at which state the state machine shall start. The state machine will then start at the previous (!) state of the given state and set forceChangeState to true. Doing so the state machine starts the job of the next state and immediately switches to the next state. </p>

<p>Definition at line <a class="el" href="_state_machine_8h_source.html#l00059">59</a> of file <a class="el" href="_state_machine_8h_source.html">StateMachine.h</a>.</p>

</div>
</div>
<a class="anchor" id="a51a47153c3502bb1d8c57c4b0343b5c5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_line_follow.html">LineFollow</a> <a class="el" href="class_state_machine.html#a51a47153c3502bb1d8c57c4b0343b5c5">StateMachine::lineFollow</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_state_machine_8h_source.html#l00045">45</a> of file <a class="el" href="_state_machine_8h_source.html">StateMachine.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad5bffb8688259c021049ffd46803a3a1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_state_machine_8h.html#ad5f3c64cf1a6afd0af12270f4a539ce8">TParcoursState</a> <a class="el" href="class_state_machine.html#ad5bffb8688259c021049ffd46803a3a1">StateMachine::parcoursState</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_state_machine_8h_source.html#l00072">72</a> of file <a class="el" href="_state_machine_8h_source.html">StateMachine.h</a>.</p>

</div>
</div>
<a class="anchor" id="aba41f59808f08876f67aefcb436ff00a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long <a class="el" href="class_state_machine.html#aba41f59808f08876f67aefcb436ff00a">StateMachine::startParcoursTimestamp</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Holds the timestamp when the parcours starts. </p>

<p>Definition at line <a class="el" href="_state_machine_8h_source.html#l00073">73</a> of file <a class="el" href="_state_machine_8h_source.html">StateMachine.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>D:/Workspace/Arduino/prencar/<a class="el" href="_state_machine_8h_source.html">StateMachine.h</a></li>
<li>D:/Workspace/Arduino/prencar/<a class="el" href="_state_machine_8cpp_source.html">StateMachine.cpp</a></li>
</ul>
</div><!-- contents -->
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="class_state_machine.html">StateMachine</a>      </li>

    <li class="footer">Generated on Thu Jun 7 2012 20:47:47 for prencar by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.0 </li>
   </ul>
 </div>


</body>
</html>
